package com.ddd.test.repo;

import com.ddd.test.aggregate.aggrsales.SalesEntity;

/**
 * 为聚合SalesEntity提供仓库服务
 *
 * 
 */

public interface SalesRepo {


  /**
   * 从仓库移除聚合
   *
   * @return int 成功条数
   */
  void remove(SalesEntity salesEntity);

  /**
   * 将聚合添加到仓库，存在则更新
   *
   * @param SalesEntity 记录
   * @return int 成功条数
   */
  void add(SalesEntity salesEntity);


  /**
   * 根据code从仓库获取聚合
   *
   * @return SalesEntity 记录
   */
  SalesEntity getSalesEntity(String code);
  
  /**
   * 根据name从仓库获取聚合
   *
   * @return SalesEntity 记录
   */
  SalesEntity getSalesEntityByName(String name);
  
  /**
   * 根据code判断仓库中是否已有聚合
   *
   * @return SalesEntity 记录
   */
  boolean hasSalesEntity(SalesEntity salesEntity);

}